/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package negocio;

import java.util.List;
import persistencia.PersistenciaEmpleado;

/**
 *
 * @author JAVA
 */
public class Empleado extends Persona{
    
    private int id;
    private String tipo;
    
    public int getId(){
        return this.id;
    }
    
    public String getTipo() {
        return tipo;
    }

    public void setTipo(String tipo) {
        this.tipo = tipo;
    }

    
    /**
     * Crea un empleado con todos sus datos
     * @param nombre
     * @param apellidos
     * @param dni
     * @param domicilio
     * @param telefono
     * @param email
     * @param tipo 
     */
    public Empleado(String nombre, String apellidos, String dni, String domicilio, String telefono, String email,String nomUsuario,int pin,String tipo) {
        super(nombre, apellidos, dni, domicilio, telefono, email,nomUsuario,pin);
        this.tipo=tipo;
    }

    
    /**
     * Crea un empleado con su id correspondiente cuando lo crea a partir de una consulta en la BBDD
     * @param id
     * @param nombre
     * @param apellidos
     * @param dni
     * @param domicilio
     * @param telefono
     * @param email
     * @param tipo 
     */
    public Empleado(int id,String nombre, String apellidos, String dni, String domicilio, String telefono, String email,String nomUsuario,int pin,String tipo){
        super(nombre, apellidos, dni, domicilio, telefono, email,nomUsuario,pin);
        this.id=id;
        this.tipo=tipo;
    }
    
    public int crearEmpleado() throws Exception{
        return PersistenciaEmpleado.insertarEmpleado(this);
    }
    
    public int eliminarEmpleado() throws Exception{
        return PersistenciaEmpleado.eliminarEmpleado(this.id);
    }
    
    public Empleado getEmpleado(int idEmpleado){
        return PersistenciaEmpleado.obtenerEmpleado(idEmpleado);
    }
    
    public int setEmpleado(String campo,String dato){
        return PersistenciaEmpleado.modificarEmpleado(this.id, campo, dato);
    }
    
    public static List<Empleado> mostrarEmpleados(){
        return PersistenciaEmpleado.mostrarDependientes();
    }
    
    public static Empleado comprobarLogin(String nomUsuario,int pin){
        return PersistenciaEmpleado.comprobarLogin(nomUsuario, pin);
    }
    
    @Override
    public String toString() {
        return  "\n --------------------- \n  ---- EMPLEADO ----  \n --------------------- \n Nombre: " + super.getNombre() + "\n Apellidos: " + super.getApellidos() + "\n Dni: " + super.getDni() + "\n Domicilio: " + super.getDomicilio() + "\n Telefono: " + super.getTelefono() + "\n Email: " + super.getEmail() + "\n --------------------- \n";
    }

    
    
}
